package top.lidee.common.service.twice.third.wechat;

import org.apache.http.client.methods.HttpPost;
import top.lidee.common.dto.AccountInfo;
import top.lidee.framework.result.ResponseResult;
import top.lidee.repository.model.MtStore;
import top.lidee.repository.model.twice.pojo.applet.MtStoreCateEntity;
import top.lidee.repository.model.twice.pojo.management.MtUploadCateCertificationLogEntity;
import top.lidee.repository.model.twice.pojo.management.TpbWechatBankAccountEntity;

import java.security.cert.X509Certificate;
import java.util.List;

/**
 * @author 张一恒
 * @version 1.0
 * @description: 微信收款 平台收付通（二级商户进件）
 * @date 2024/9/30 16:25
 */
public interface WechatPaySftService {



    /**
     * @param storeId
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @description 电商二级商户进件（提交申请单）
     * accountBank 开户银行
     * * bankName 开户银行全称 （含支行）
     * @author zhangyiheng
     * @date 2024/9/30 16:29
     */
    ResponseResult wxIncomingParts(Integer storeId, AccountInfo accountInfo);


    /**
     * @param next
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @description 微信对私银行调用：查询支持个人业务的银行列表API
     * @author zhangyiheng
     * @date 2024/10/15 09:09
     */
    ResponseResult callToPrivateBank(String next, AccountInfo accountInfo);

    /**
     * @param next
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @description 对公银行调用：查询支持对公业务的银行列表API
     * @author zhangyiheng
     * @date 2024/10/15 10:07
     */
    ResponseResult callToPublicBank(String next, AccountInfo accountInfo);

    /**
     * @param provinceCode
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @description 查询城市列表API
     * @author zhangyiheng
     * @date 2024/10/15 11:12
     */
    ResponseResult queryTheListOfCities(String provinceCode, AccountInfo accountInfo);

    /**
     * @param bankAliasCode
     * @param cityCode
     * @param accountInfo
     * @return top.lidee.framework.result.ResponseResult
     * @description * 查询支行列表API
     * * bankAliasCode:银行别名编码
     * * cityCode:城市编码
     * @author zhangyiheng
     * @date 2024/10/15 11:32
     */
    ResponseResult queryBranchList(String bankAliasCode, String cityCode, String next, AccountInfo accountInfo);




}
